<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>doc_values | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'doc-values.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/doc-values.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/doc-values.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/doc-values.html" rel="nofollow" target="_blank">../en/doc-values.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch Guide [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="mapping.html">Mapping</a></span>
»
<span class="breadcrumb-link"><a href="mapping-params.html">Mapping parameters</a></span>
»
<span class="breadcrumb-node"><code class="literal">doc_values</code></span>
</div>
<div class="navheader">
<span class="prev">
<a href="copy-to.html">« <code class="literal">copy_to</code></a>
</span>
<span class="next">
<a href="dynamic.html"><code class="literal">dynamic</code> »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="doc-values"></a><code class="literal">doc_values</code><a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/mapping/params/doc-values.asciidoc">edit</a>
</h2>
</div></div></div>
<p>Most fields are <a class="xref" href="mapping-index.html" title="index">indexed</a> by default, which makes them
searchable. The inverted index allows queries to look up the search term in
unique sorted list of terms, and from that immediately have access to the list
of documents that contain the term.</p>
<p>Sorting, aggregations, and access to field values in scripts requires a
different data access pattern.  Instead of looking up the term and finding
documents, we need to be able to look up the document and find the terms that
it has in a field.</p>
<p>Doc values are the on-disk data structure, built at document index time, which
makes this data access pattern possible. They store the same values as the
<code class="literal">_source</code> but in a column-oriented fashion that is way more efficient for
sorting and aggregations. Doc values are supported on almost all field types,
with the <em>notable exception of <code class="literal">text</code> and <code class="literal">annotated_text</code> fields</em>.</p>
<p>All fields which support doc values have them enabled by default. If you are
sure that you don’t need to sort or aggregate on a field, or access the field
value from a script, you can disable doc values in order to save disk space:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">PUT my_index
{
  "mappings": {
    "properties": {
      "status_code": { <a id="CO337-1"></a><i class="conum" data-value="1"></i>
        "type":       "keyword"
      },
      "session_id": { <a id="CO337-2"></a><i class="conum" data-value="2"></i>
        "type":       "keyword",
        "doc_values": false
      }
    }
  }
}</pre>
</div>
<div class="console_widget" data-snippet="snippets/749.console"></div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO337-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">status_code</code> field has <code class="literal">doc_values</code> enabled by default.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO337-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">session_id</code> has <code class="literal">doc_values</code> disabled, but can still be queried.</p>
</td>
</tr>
</table>
</div>
</div>
<div class="navfooter">
<span class="prev">
<a href="copy-to.html">« <code class="literal">copy_to</code></a>
</span>
<span class="next">
<a href="dynamic.html"><code class="literal">dynamic</code> »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>